using UwinEducation.Domain.Entities;
using UwinEducation.Shared.Models;

namespace UwinEducation.Domain.IRepositories
{
    public interface IClassroomRepository : IRepository<Classroom, Guid>
    {
        /// <summary>
        /// 获取教室分页列表
        /// </summary>
        Task<PagedResult<Classroom>> GetPagedListAsync(ClassroomPageRequest pageRequest);

        /// <summary>
        /// 获取教室详情
        /// </summary>
        Task<Classroom> GetDetailsByIdAsync(Guid id);

        /// <summary>
        /// 检查教室名称是否存在
        /// </summary>
        Task<bool> ExistsByNameAsync(string name, Guid? excludeId = null);
    }
}